Client-Server ভিত্তিক অ্যাপ্লিকেশন তৈরি করা

Database Tutorials - অ্যাপাচি ডার্বি (Apache Derby) Derby Embedded এবং Client-Server Application Development |
165
165

Client-Server ভিত্তিক অ্যাপ্লিকেশন হল এমন একটি অ্যাপ্লিকেশন যেখানে দুটি প্রধান উপাদান থাকে: Client এবং ServerClient হলো ব্যবহারকারী বা ডিভাইস যা সার্ভারের সাথে যোগাযোগ করে এবং পরিষেবা বা তথ্যের অনুরোধ পাঠায়। Server হল সেই সিস্টেম যা ক্লায়েন্টের অনুরোধ গ্রহণ করে এবং উপযুক্ত প্রতিক্রিয়া পাঠায়।

একটি Client-Server ভিত্তিক অ্যাপ্লিকেশন তৈরি করার জন্য আমাদের প্রয়োজন হবে কিছু বিশেষ প্রযুক্তি, যেমন: TCP/IP স্যোকারেটস, RESTful APIs, এবং অন্যান্য যোগাযোগ প্রোটোকল। এখানে আমরা একটি সাধারণ Client-Server অ্যাপ্লিকেশন তৈরি করার জন্য Python ব্যবহার করব, কারণ এটি একটি জনপ্রিয় এবং সহজ ভাষা যা সবার কাছে সহজলভ্য।


Client-Server ভিত্তিক অ্যাপ্লিকেশন তৈরি করতে প্রয়োজনীয় পদক্ষেপ:

  1. Server Side তৈরি করা
  2. Client Side তৈরি করা
  3. Client এবং Server এর মধ্যে যোগাযোগ স্থাপন করা
  4. ডেটা প্রেরণ ও গ্রহণ

১. Server Side তৈরি করা

আমরা Python এর socket লাইব্রেরি ব্যবহার করে একটি সাধারণ TCP Server তৈরি করব। এটি ক্লায়েন্টের অনুরোধ গ্রহণ করবে এবং সঠিক প্রতিক্রিয়া পাঠাবে।

Server Code (Python)

import socket

# Server এর ইনস্ট্যান্স তৈরি করা
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Server এর জন্য IP এবং পোর্ট নির্ধারণ করা
host = '127.0.0.1'  # Localhost (Client এবং Server একই মেশিনে চলছে)
port = 65432         # পোর্ট নাম্বার

# Server অ্যাড্রেস এবং পোর্টে বেঁধে দেওয়া
server_socket.bind((host, port))

# Client এর সংযোগ গ্রহণ করা
server_socket.listen()

print("Server is listening on {}:{}".format(host, port))

# Client এর সাথে সংযোগ করা
client_socket, client_address = server_socket.accept()
print("Connected by", client_address)

# Client থেকে ডেটা গ্রহণ করা এবং রেসপন্স পাঠানো
data = client_socket.recv(1024)
print("Received data:", data.decode())

# Client কে সাড়া পাঠানো
client_socket.sendall(b"Hello, Client! This is a server response.")

# সংযোগ বন্ধ করা
client_socket.close()

Server Code ব্যাখ্যা:

  • socket.socket(socket.AF_INET, socket.SOCK_STREAM) দ্বারা একটি TCP স্যোকেট তৈরি করা হয়েছে।
  • bind() ফাংশন ব্যবহার করে host (IP ঠিকানা) এবং port নম্বর নির্ধারণ করা হয়েছে।
  • listen() ফাংশন ব্যবহার করে সার্ভারটি ক্লায়েন্টের সংযোগের জন্য অপেক্ষা করছে।
  • accept() ফাংশন দ্বারা ক্লায়েন্টের সংযোগ গ্রহণ করা হচ্ছে।
  • recv() দ্বারা ক্লায়েন্ট থেকে ডেটা গ্রহণ এবং sendall() দ্বারা সার্ভার থেকে ক্লায়েন্টকে সাড়া পাঠানো হচ্ছে।

২. Client Side তৈরি করা

এবার ক্লায়েন্ট সাইড তৈরি করব, যেটি সার্ভারের সাথে যোগাযোগ করবে এবং অনুরোধ পাঠাবে।

Client Code (Python)

import socket

# Server এর IP এবং পোর্ট নির্ধারণ করা
host = '127.0.0.1'  # Localhost
port = 65432         # Server পোর্ট নম্বর

# Client এর জন্য স্যোকেট তৈরি করা
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Server এর সাথে সংযোগ স্থাপন করা
client_socket.connect((host, port))

# Server কে অনুরোধ পাঠানো
client_socket.sendall(b"Hello, Server! I am the client.")

# Server থেকে সাড়া গ্রহণ করা
data = client_socket.recv(1024)
print("Received from server:", data.decode())

# সংযোগ বন্ধ করা
client_socket.close()

Client Code ব্যাখ্যা:

  • socket.socket(socket.AF_INET, socket.SOCK_STREAM) দ্বারা ক্লায়েন্ট সাইডে একটি TCP স্যোকেট তৈরি করা হয়েছে।
  • connect() ফাংশন ব্যবহার করে ক্লায়েন্ট সার্ভারের সাথে সংযোগ স্থাপন করছে।
  • sendall() দ্বারা সার্ভারে একটি বার্তা পাঠানো হচ্ছে এবং recv() দ্বারা সার্ভার থেকে প্রাপ্ত সাড়া গ্রহণ করা হচ্ছে।

৩. Client এবং Server এর মধ্যে যোগাযোগ স্থাপন করা

এই প্রক্রিয়াতে ক্লায়েন্ট সার্ভারের সাথে TCP প্রোটোকল ব্যবহার করে যোগাযোগ করবে। সার্ভারটি একটি নির্দিষ্ট পোর্টে চলমান থাকবে এবং ক্লায়েন্ট সেই পোর্টে সংযোগ করবে।

স্টেপ ১: প্রথমে সার্ভার কোড চালান।

python server.py

স্টেপ ২: তারপর ক্লায়েন্ট কোড চালান।

python client.py

ক্লায়েন্টের পক্ষ থেকে একটি বার্তা পাঠানো হবে, এবং সার্ভার থেকে সাড়া পাঠানো হবে।


৪. ডেটা প্রেরণ ও গ্রহণ

  • Data Transfer: সার্ভার এবং ক্লায়েন্ট এর মধ্যে ডেটা প্রেরণ একটি গুরুত্বপূর্ণ অংশ। এখানে, আপনি যেকোনো ধরনের ডেটা পাঠাতে পারেন, যেমন JSON, XML, বা বাইনারি ডেটা।
  • Protocols: আপনি চাইলে HTTP, FTP, WebSocket, ইত্যাদি যোগাযোগ প্রোটোকলও ব্যবহার করতে পারেন, তবে এখানে আমরা TCP/IP ব্যবহার করেছি, যেটি সাধারণ এবং সহজ।

উপসংহার

এটি ছিল একটি সাধারণ Client-Server ভিত্তিক অ্যাপ্লিকেশন তৈরি করার প্রক্রিয়া। এখানে আমরা Python ব্যবহার করেছি যা সিম্পল এবং শক্তিশালী ভাষা হিসেবে পরিচিত। এ ধরনের অ্যাপ্লিকেশন তৈরি করার মাধ্যমে আপনি সার্ভার এবং ক্লায়েন্টের মধ্যে বিভিন্ন ধরনের তথ্য শেয়ার করতে পারবেন এবং বিভিন্ন বাস্তব সমস্যার সমাধান করতে পারবেন। Socket programming, REST API এবং WebSocket আরও উন্নত পর্যায়ের যোগাযোগ তৈরি করতে সহায়ক হতে পারে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion